/**
 * 
 */
package gameEngine;

/**
 * @author Joe R. Nassimian
 * @author Yannis Mazzer
 */
public class Settings {
	private String gamesName;
	private String boardsShape;
	private Integer dimension;
	private int edgeSize;
	private Integer nbPlayers;
	
	Settings(String _name, String _shape, Integer _dim, Integer _nbPlayers){
		this.gamesName = _name;
		this.boardsShape = _shape;
		this.dimension = _dim;
		this.nbPlayers = _nbPlayers;
		this.edgeSize = BoardGame.getGamesBoardEdgeSize(_name, _shape, _dim);
	}
	
	/**
	 * @param gamesName the gamesName to set
	 */
	public void setGamesName(String gamesName) {
		this.gamesName = gamesName;
	}
	/**
	 * @return the gamesName
	 */
	public String getGamesName() {
		return gamesName;
	}
	
	/**
	 * @param boardsShape the boardsShape to set
	 */
	public void setBoardsShape(String boardsShape) {
		this.boardsShape = boardsShape;
	}
	/**
	 * @return the boardsShape
	 */
	public String getBoardsShape() {
		return boardsShape;
	}
	
	/**
	 * @param dimension the dimension to set
	 */
	public void setDimension(Integer dimension) {
		this.dimension = dimension;
	}
	/**
	 * @return the dimension
	 */
	public Integer getDimension() {
		return dimension;
	}
	
	/**
	 * @param nbPlayers the nbPlayers to set
	 */
	public void setNbPlayers(Integer nbPlayers) {
		this.nbPlayers = nbPlayers;
	}
	/**
	 * @return the nbPlayers
	 */
	public Integer getNbPlayers() {
		return nbPlayers;
	}
	
	public String toString(){
		return "Game's name is " + getGamesName() + " on a " + getBoardsShape() + " shaped board in " + getDimension().toString() + "D with " + getNbPlayers().toString() + " players.";
	}

	/**
	 * @param edgeSize the edgeSize to set
	 */
	public void setEdgeSize(int edgeSize) {
		this.edgeSize = edgeSize;
	}

	/**
	 * @return the edgeSize
	 */
	public int getEdgeSize() {
		return edgeSize;
	}
}
